import collections
import heapq
import sys
import math
import itertools
import bisect
from io import BytesIO, IOBase
import os
def value(): return tuple(map(int, input().split()))
def values(): return tuple(map(int, sys.stdin.readline().split()))
def inlst(): return [int(i) for i in input().split()]
def inlsts(): return [int(i) for i in sys.stdin.readline().split()]
def inp(): return int(input())
def inps(): return int(sys.stdin.readline())
def instr(): return input()
def stlst(): return [i for i in input().split()]
def solve():
nn=inp()
n=nn
if n<=2:
m=int(math.sqrt(n))+1
ind =2
l=[]
while ind <= math.sqrt(n):
while n%ind == 0:
n=n//ind
l.append(ind)
ind+=1
if len(l) ==2 and l[0]*l[1]!=nn:
print(1)
print((l[0]*l[1]))
return
if len(l) >2 :
print(1)
print((l[0]*l[1]))
return
if len(set(l))==1:
print(2)
else:
print(1)
print(0)
solve()
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
ll q;
cin >> q;
ll temp = q;
vector<ll> v;
for (ll i = 2; i * i <= q; i++)
{
if (temp % i == 0)
{
while (temp % i == 0)
{
v.push_back(i);
temp /= i;
}
}
}
if (temp != 1)
{
v.push_back(temp);
}
ll n = v.size();
if (n <= 1)
{
cout << "1\n0";
}
else if (n > 2)
{
cout << 1 << endl;
cout << v[0] * v[1];
}
else
{
cout << 2 << endl;
}
return 0;
}
62. Unique Paths | 50. Pow(x, n) |
43. Multiply Strings | 34. Find First and Last Position of Element in Sorted Array |
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |
1044. Longest Duplicate Substring | 1032. Stream of Characters |
987. Vertical Order Traversal of a Binary Tree | 952. Largest Component Size by Common Factor |
212. Word Search II | 174. Dungeon Game |
127. Word Ladder | 123. Best Time to Buy and Sell Stock III |
85. Maximal Rectangle | 84. Largest Rectangle in Histogram |
60. Permutation Sequence | 42. Trapping Rain Water |
32. Longest Valid Parentheses | Cutting a material |
Bubble Sort | Number of triangles |
AND path in a binary tree | Factorial equations |
Removal of vertices | Happy segments |